package ltd.bugs.cute.channel.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import ltd.bugs.cute.channel.model.Channel;
import ltd.bugs.cute.channel.model.ChannelCondition;

@Repository
public interface ChannelDAO {

  /**
   * 根据id获取对应的通道信息
   * 
   * @param id
   * @return
   */
  Channel get(long id);

  /**
   * 增加通道信息
   * 
   * @param channel
   */
  void add(Channel channel);

  /**
   * 更新通道信息
   * 
   * @param channel
   */
  void update(Channel channel);

  /**
   * 删除通道
   * 
   * @param id
   */
  void delete(long id);

  /**
   * 根据条件获取通道列表，根据权重降序排列
   * 
   * @param type
   * @return
   */
  List<Channel> getChannelList(ChannelCondition channelCondition);
}
